A PDG-based Tool and its Use in Analyzing Program Control Dependences

نویسندگان

  • Chris J. Newburn
  • Derek B. Noonburg
  • John Paul Shen
چکیده

This paper explores the potential of a program representation called the program dependence graph (PDG) for representing and exposing programs’ hierarchical control dependence structure. It presents several extensions to current PDG designs, including a node labeling scheme that simplifies and generalizes PDG traversal. A post-pass PDG-based tool called PEDIGREE has been implemented. It is used to generate and analyze the PDGs for several benchmarks, including the SPEC92 suite. In particular, initial results characterize the control dependence structure of these programs to provide insight into the scheduling benefits of employing speculative execution, and exploiting control equivalence information. Some of the benefits of using the PDG instead of the CFG are demonstrated. Our ultimate aim is to use this tool for exploiting multi-grained parallelism.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Dependence Analysis for Recursive Java Programs_SIGPlan_...

Dependence analysis is an important approach to analyzing, understanding, testing and maintaining programs. T his paper develops a new kind of dependence analysis method for recursive Java programs. In our method, the program dependence graph (PDG) of a Java program consists of a set of PDGs that are not connected. They interact with each other by dependences among parameters. Thus, t he inter-...

متن کامل

Fault Localization for Java Programs using Probabilistic Program Dependence Graph

Fault localization is a process to find the location of faults. It determines the root cause of the failure. It identifies the causes of abnormal behaviour of a faulty program. It identifies exactly where the bugs are. Existing fault localization techniques are Slice based technique, ProgramSpectrum based Technique, Statistics Based Technique, Program State Based Technique, Machine learning bas...

متن کامل

System Dependence Graphs Based on Parse Trees and their Use in Software Maintenance

The concept of static program slicing was first introduced by Weiser. Ottenstein et al. indicated that an intraprocedural slice can be found in linear time by traversing a suitable graph representation of the program referred to as the program dependence graph (PDG). Horwitz et al. introduced algorithms to construct interprocedural slices by extending the program dependence graph to a supergrap...

متن کامل

Program Slicing

The concept of static program slicing was first introduced by Weiser. Ottenstein et al. indicated that an intraprocedural slice can be found in linear time by traversing a suitable graph representation of the program referred to as the program dependence graph (PDG). Horwitz et al. introduced algorithms to construct interprocedural slices by extending the program dependence graph to a supergrap...

متن کامل

Parallel Program Graphs and their Classification

We categorize and compare diierent representations of program dependence graphs, including the Control Flow Graph (CFG) which is a sequential representation lacking data dependences, the Program Dependence Graph (PDG) which is a parallel representation of a sequential program and is comprised of control and data dependences, and more generally, the Parallel Program Graph (PPG) which is a parall...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994